package com.alibaba.citrus.cr.b2b.trade.order.api;

import com.alibaba.citrus.cr.b2b.trade.order.dto.request.OrderLineModifyRequest;
import com.alibaba.citrus.cr.b2b.trade.order.dto.request.OrderLineRemoveRequest;
import com.alibaba.citrus.cr.b2b.trade.order.dto.request.OrderLineSaveRequest;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.lattice2.epoch.sdk.model.Result;


import java.util.List;


@MeshFlowService(apps = {"bc_order"}, name = "销售子订单写API")
public interface OrderLineWriteService {

    /**
     * 移除子订单
     * @param request OrderLineRemoveRequest
     * @return Boolean
     */
    Result<List<String>> remove(OrderLineRemoveRequest request);

    /**
     * 修改销售子订单
     * @param request OrderLineModifyRequest
     * @return void
     */
    Result<Void> modify(OrderLineModifyRequest request);


    /**
     * 保存销售子订单
     * @param request
     * @return List<String>
     */
    Result<List<String>> save(OrderLineSaveRequest request);
}
